<?php

namespace Myapp\FilmothequeBundle\Controller;

use Symfony\Component\DependencyInjection\ContainerAware;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Myapp\FilmothequeBundle\Entity\Acteur;
use Myapp\FilmothequeBundle\Form\ActeurForm;

class ActeurController extends ContainerAware
{
    public function listerAction()
    {
	$em = $this->container->get('doctrine.orm.entity_manager');

	$acteurs= $em->getRepository('MyappFilmothequeBundle:Acteur')->findAll();

	return $this->container->get('templating')->renderResponse('MyappFilmothequeBundle:Acteur:lister.html.twig', 
	array(
	'acteurs' => $acteurs
 	));
    }

    public function supprimerAction($id)
    {
      $em = $this->container->get('doctrine.orm.entity_manager');
      $acteur = $em->find('MyappFilmothequeBundle:Acteur', $id);

      if (!$acteur) 
      {
        throw new NotFoundHttpException("Acteur non trouvé");
      }

      $em->remove($acteur);
      $em->flush();        

      return new RedirectResponse($this->container->get('router')->generate('myapp_acteur_lister'));
    }
    
    public function editerAction($id = null)
    {
	$message='';
	$em = $this->container->get('doctrine.orm.entity_manager');

	if (isset($id)) 
	{
		// modification d'un acteur existant : on recherche ses données
		$acteur = $em->find('MyappFilmothequeBundle:Acteur', $id);

		if (!$acteur)
		{
			$message='Aucun acteur trouvé';
		}
	}
	else 
	{
		// ajout d'un nouvel acteur
		$acteur = new Acteur();
	}

	$form = $this->container->get('form.factory')->create(new ActeurForm());
	$form->setData($acteur);

	$request = $this->container->get('request');

	if ($request->getMethod() == 'POST') 
	{
            $form->bindRequest($request);

            if ($form->isValid()) 
            {
                $em->persist($acteur);
                $em->flush();                
                $message = (isset($id)) ? 'Acteur modifié avec succès !'
                                        : 'Acteur ajouté avec succès !';
            }
        }

	return $this->container->get('templating')->renderResponse(
                        'MyappFilmothequeBundle:Acteur:editer.html.twig',
	array(
	'form' => $form->createView(),
	'message' => $message,
	));
        
        
    }
    
}